This invention relates to the use of markers in desktop publishing and word processing applications.
Markers are frequently used in desktop publishing and word processing to represent an attribute or data—such as hyperlinks, indexing, notes, or extensible markup language (XML) tags—associated with content where the marker is found in a document. Markers are typically placed at desired locations in a document in the same fashion as characters are placed in a document (and, indeed, can be represented by characters in the document). Thus, for example, in an electronic document an instance of the word “Adobe” can have an associated index marker labeled Software Companies, representing an index entry for Software Companies with a reference to that instance of Adobe.
However, while markers thus provide users information, it is often desirable to avoid altering the display of the visual composition of the document, which would result from the insertion into a document of visible characters representing a marker. To that end, markers are often defined to have no width—called zero-width markers—such that they take up no “space” in the document and therefore do not affect the document's visual composition. Since such a marker takes up no space, it is essentially invisible to the user; the only indication to the user that the marker exists may be that the cursor or insertion point (the blinking vertical line where new characters appear as the user types) temporarily stays still as the user navigates through a region of the document that is populated with markers. As a result, when there are multiple markers in one location of a document, the cursor appears to stay in one place even when the user moves it (e.g., by using the cursor keys) through each marker. This can be confusing to a user who is unaware of the markers, who may wonder why the cursor is not moving. Even if the user is aware that zero-width markers are present in the document, it can still be hard to manipulate the markers—for example, to determine which marker is selected for modification or deletion.